<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script>
    /*
    * 数组的裁切
    *   数组 里面 截取几部分 增加 删除 替换 某些元素
    *   .splice 方法（修改原数组）
    *       至少接收一个参数
    *       只接收了一个参数的情况：
    *           start传入的数值：就是操作(增加/删除)的起始位置 下标 从这一位开始裁剪，一直裁剪到结束
    *           let arr = ["大","家","好"]

                let s = arr.splice(1) //splice的整体返回值 就是被裁剪出去的内容所形成的数组 ["家","好"]

                console.log(arr) //裁剪之后留下的内容["大"]
    *
    *       有两个参数的情况
    *           第一个参数start还是代表操作的其实位置
    *           第二个参数count表示删除的位数
    *           let arr = ["大","家","好","吗"]

                let s = arr.splice(1,0) //splice的整体返回值 数组形式 从第1位开始 删除0位 就是返回一个空数组 []

                console.log(arr) //原数组不变

                let arr = ["你","还","好","吗"]
                //如果要将第1位"还",和第3位"吗"删除怎么做
                arr.splice(3,1) //删除下标为3的吗
                arr.splice(1,1) //删除下标为1的还
                //多次删除：1.精确计算删除之后各元素的下标位置，不推荐
                //        2.推荐从后往前删，删除后面的部分，前面部分的下标是不会受影响的

    *       参数大于等于三个的情况
    *           可以接收无数个参数
    *           第一个参数start
    *               删除是从start这个下标及往后删除
    *               添加是从start这个下标前面的空隙插入
    *           第二个参数count
    *           第三个参数以及后续都是 添加
    *
    *       splice方法的返回值：整体返回 被裁剪部分形成的数组
    *
    *
    * */
    let arr = ["大","家","好","吗"]
    //在家和好之间插入还字
    //let s = arr.splice(2,0,"还") //从下标为2的地方开始，往后删除0位，往前增加一位元素“还”
    //console.log(arr)
    //console.log(s)

    //如果将 大家 两个元素替换成 你们 该怎么做（删除，增加）
    //let b = arr.splice(0,2,"你","们")//从下标0位开始，删除两位，分别增加“你”，“们”元素
    //console.log(arr)
    //console.log(b)
    let nameList = ["火山","打工","康康"]
    //把arr里面的大家两个元素替换成这个数组里面的所有元素
    let n = arr.splice(0,2,...nameList)//这个是传参，使用点点点结构赋值，就能将传入的所有参数全部拆开
    console.log(n)
    console.log(arr)


</script>
</body>
</html>